оказалось, VBScript не понимает про Clipboard
настроил ярлыки на
#include "windows.h"
#include "tchar.h"
void catClipBoard( TCHAR* sz )
{
if( !OpenClipboard(NULL) )
return;
if( HGLOBAL hCB = GetClipboardData( CF_TEXT ) )
if( TCHAR* szCB = (TCHAR*)GlobalLock( hCB ) )
{
_tcscat( sz, szCB );
GlobalUnlock( hCB );
}
CloseClipboard();
}
void replaceQuotes( TCHAR* p )
{
for( ; *p; p++ )
if( *p == '`' )
*p = '"';
}
int main( int argc, char* argv[] )
{
if( argc < 2 ) return 1;
TCHAR szCommandLine[0x200] = {0};
_tcscat( szCommandLine, argv[1] );
if( 2 < argc )
_tcscat( szCommandLine, argv[2] );
catClipBoard( szCommandLine );
if( 3 < argc )
_tcscat( szCommandLine, argv[3] );
replaceQuotes( szCommandLine );
STARTUPINFO ci = {0};
PROCESS_INFORMATION pi;
CreateProcess( NULL, szCommandLine,
0,0,0,0,0,0, &ci,π );
return 0;
}
программунапример
C:\VC\CopyShell.exe "`C:\Program Files\Internet Explorer\iexplore.exe`" " `
http://slovari.yandex.ru/search.xml?text=" `
запускает IE с поиском скопированного в буфер слова
а
C:\VC\CopyShell.exe "
`C:\Program Files\Mozilla Firefox\firefox.exe`" "
`http://lingvo.yandex.ru/en?st_translate=1&text="
`ищет перевод
(подчеркнуты аргументы)